<template>
  <fs-page class="page-layout-card">
    <fs-crud ref="crudRef" v-bind="crudBinding" />
  </fs-page>
</template>

<script lang="ts">
  import { defineComponent, ref, onMounted } from 'vue';
  import { useCrud } from '@fast-crud/fast-crud';
  import createCrudOptions from './crud';
  import { useExpose } from '@fast-crud/fast-crud';
  export default defineComponent({
    name: 'BasisLayoutCard',
    setup() {
      // crud组件的ref
      const crudRef = ref();
      // crud 配置的ref
      const crudBinding = ref();
      // 暴露的方法
      const { crudExpose } = useExpose({ crudRef, crudBinding });
      // 你的crud配置
      const { crudOptions } = createCrudOptions({ crudExpose });
      // 初始化crud配置
      // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-unused-vars
      const { resetCrudOptions } = useCrud({ crudExpose, crudOptions });
      // 你可以调用此方法，重新初始化crud配置
      // resetCrudOptions(options)

      // 页面打开后获取列表数据
      onMounted(() => {
        crudExpose.doRefresh();
      });

      return {
        crudBinding,
        crudRef,
      };
    },
  });
</script>

<style lang="less">
  .page-layout-card {
    background-color: inherit !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
    .fs-layout-card > .box > .inner > .header {
      margin: 0px 0px 5px;
    }
    .fs-layout-card > .box > .inner > .body {
      margin: 0px 0px 5px;
    }
  }
</style>
